package com.eastfair.venuebooking.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import com.eastfair.venuebooking.entity.SpaceCategory;
import com.eastfair.venuebooking.enumeration.SpaceCategorySpaceTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;

import javax.validation.constraints.Size;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import static com.baomidou.mybatisplus.annotation.SqlCondition.LIKE;

/**
 * <p>
 * vo
 * 展厅分类
 * </p>
 *
 * @author lyw
 * @since 2022-06-09
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = false)
//@Builder
public class SpaceCategoryVO extends SpaceCategory {



    /**
     * 分类名称
     */
    @ApiModelProperty(value = "分类名称")
    @Size(max = 30, message = "分类名称长度不能超过30")
    @TableField(value = "category_name", condition = LIKE)
    @Excel(name = "分类名称")
    private String categoryName;



    /**
     * 父级id
     */
    @ApiModelProperty(value = "父级id")
    @TableField(value = "parent_id")
    @Excel(name = "父级id")
    private Long parentId;

    /**
     * 排序
     */
    @ApiModelProperty(value = "排序")
    @TableField(value = "sort")
    @Excel(name = "排序")
    private Integer sort;

    /**
     * 位置
     */
    @ApiModelProperty(value = "位置")
    @Size(max = 20, message = "位置长度不能超过20")
    @TableField(value = "location", condition = LIKE)
    @Excel(name = "位置")
    private String location;

    @ApiModelProperty(value = "人员名称")
    private String createdName;

    @ApiModelProperty(value = "分类子集集合")
    private List<SpaceCategoryChildrenVO> children;
    /**
     * 场地类型 #{EXHIBITION_HALL:展厅;CONFERENCE_ROOM:会议室;ADVERTISING_SPACE:广告位}
     */
    @ApiModelProperty(value = "场地类型 #{EXHIBITION_HALL:展厅;CONFERENCE_ROOM:会议室;ADVERTISING_SPACE:广告位}")
    private SpaceCategorySpaceTypeEnum spaceType;



}
